// 系统接口
export interface SysApi {
  /** 检查用户是否登录. */
  checkLogin(): boolean;
  /** 获取登录用户信息. */
  userInfo(): LoginUserInfo;
  /** 检查是否包含该角色 */
  hasRole(roleCode: string): boolean;
  /** 检查是否包含该权限 */
  hasPerm(permCode: string): boolean;
  /** 获取登录用户Token信息. */
  userToken(): LoginUserToken;
}

/**
 * 登录用户信息
 */
export interface LoginUserInfo {
  userId?: string; // 用户ID
  loginName?: string; // 用户名
  nickName?: string; // 昵称
  avatar?: string; // 头像
  tenant: string; // 租户
  roleCodes: string[];
  permCodes: string[];
}

/**
 * 登录用户Token信息
 */
export interface LoginUserToken {
  accessToken?: string;
  //Token过期时间.
  expiresDate?: number;
  expiresin?: number;
  refreshToken?: string;
  //Token类型:Bearer
  tokenType?: string;
  //Token Tenant
  tenant?: string;
}
